package collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 * Lambda:简化代码实现匿名内部类
 * 要求:
 * 1.Lambda表达式对接口的要求必须是函数式接口
 * 2.函数式接口：接口中只有①个必须重写的方法
 */
public class LambdaDemo {
    public static void main(String[] args) {
        List<Point> list=new ArrayList<>();
        list.add(new Point(3,4));
        list.add(new Point(1,12));
        list.add(new Point(7,1));
        list.add(new Point(3,16));
        list.add(new Point(3,2));
        list.add(new Point(6,8));
        System.out.println("原list:"+list);
        Collections.sort(list,(Point o1,Point o2)->{
            return o1.getX()-o2.getX();
        });
        //如果方法体中只有一句代码则可以改为如下表达式
        Collections.sort(list,(o1, o2) ->o1.getX()-o2.getX() );
        //如果Lambda表达式方法参数只有一个，（）可以省略

    }
}
